requireJS(['constant', 'site', 'handlebars', 'public'], function (Constant, site, Handlebars, Public) {
    Public.initApplyTerm();
    Public.initProductSearch();
    Public.initCompany();
    Constant.initHandlebars(Handlebars);

    var url = {
        selectRepanymentWayList: "manager/selectRepanymentWayList.do",
        selectRenewalRead: "manager/selectRenewalRead.do",
        selectRenewal: "manager/selectRenewal.do",
        submitRenewal: "manager/submitRenewal.do",
        selectPaymentSort: "manager/selectPaymentSort.do",
        submitReceivablesInit: "manager/submitReceivablesInit.do",
        DailyInterestRate: "manager/DailyInterestRate.do",
        submitReceivables: "manager/submitReceivables.do",
        selectOrderCollectionList: "manager/selectOrderCollectionList.do",
        selectLoanMethodList: "manager/selectLoanMethodList.do",
        collectionOperationInit: "manager/collectionOperationInit.do",
        selectVisitType: "manager/selectVisitType.do",
        checkVisit: "manager/checkVisit.do",
        submitVisit: "manager/submitVisit.do",
        transformation: 'manager/transformation.do'
    }

    //渲染搜索框的贷款方式
    site.send({
        url: url.selectLoanMethodList,
        callback: function (data) {
            data = JSON.parse(data);
            if (data.type == '1') {
                var source = $("#loanMethod_list_tpl").html();
                var template = Handlebars.compile(source);
                var list = data
                var html = template(list)
                $('#loan_way').append(html);
            }
        }
    })

    var repaymentWay = {};
    var numed;
    var flun_type;
    var is_month_repayment_money;
    var is_comprehensive;
    var periods;
    var late_days;
    var is_penalty;
    var is_late_fee;
    var admin_id;
    var at_name;
    var plan_payment_money;
    var repayment_way;
    var loan_type;
    var loandays;
    var apply_money;
    var interest;

    var visitData = {
        pageNum: 1
    } //回访列表所需字段

    site.send({
        url: url.selectRepanymentWayList,
        callback: function (data) {
            data = JSON.parse(data)
            var list = data.content
            if (data.type == '1') {
                for (var i = 0; i < list.length; i++) {
                    var v = list[i];
                    repaymentWay[v.id] = v;
                }
            }
        }
    })

    //日期控件初始化
    $(".datepicker").datepicker({
        format: 'yyyy-mm-dd',
        autoclose: true,
        pickerPosition: 'bottom',
    })

    var order_id;

    var frontData = {};//回访列表
    var submitVisitData = {};//提交回访
    var remindData = {};//提醒客户
    var remindSalesData = {};
    // 初始化
    var init = function () {
        var data = {
            pageNum: frontData.pageNum,
        }
        if ($("#d2Id").val() != '') {
            data.d2Id = $("#d2Id").val();
        }
        if ($("#start_time").val() != '') {
            data.start_time = $("#start_time").val();
        }
        if ($("#end_time").val() != '') {
            data.end_time = $("#end_time").val();
        }
        if ($("#time_type").val() != '') {
            data.time_type = $("#time_type").val();
        }
        if ($("#atId").val() != '') {
            data.atId = $("#atId").val();
        }
        if ($("#inputNames").val() != '' && $("#inputNames").val().trim()) {
            data.name = $("#inputNames").val();
        }
        if ($("#loan_way").val()) {
            data.loan_way = $("#loan_way").val();
        }
        if ($("#seleNames").val()) {
            data.type = $("#seleNames").val();
        }
        if ($("#product_choose_list").val()) {
            data.product_id = $("#product_choose_list").val()
        }
        site.send({
            url: url.selectOrderCollectionList,//客服催收
            data: data,
            callback: function (data) {
                data = JSON.parse(data);
                if (data.type == '1') {
                    if (data.content) {
                        $('.collection-page-container').createPager({
                            current: frontData.pageNum,
                            total: data.content.total,
                            pageSize: data.content.pageSize,
                            needInput: false,
                            backFn: function (current) {
                                frontData.pageNum = current;
                                init();
                            }
                        })
                        $('.result').html(data.content.total ? data.content.total : 0);
                    }
                    var source = $("#orderCollection_content_tpl").html();
                    var template = Handlebars.compile(source);

                    var menuIndex = getAurlparam('h') || 0;
                    var thirdMenusIndex = getAurlparam('t') || 0;
                    var leftIndex = getAurlparam('i') || 0;

                    var storageContent = JSON.parse(localStorage.getItem('content'));

                    var obj = {
                        content: data,
                        fourthMenus: storageContent.menus[menuIndex].children[leftIndex].children[thirdMenusIndex].children || {}
                    }

                    var html = template(obj);
                    $("#orderCollection_content").html(html);

                    Public.record('t_order_public');

                    onBindFun();
                }
            }
        })
    }
    init();

    function queryRecord(frontData) {
        site.send({
            url: url.checkVisit,
            data: frontData,
            callback: function (data) {
                data = JSON.parse(data);
                if (data.type == 1) {
                    var source = $("#revisit_list_tpl").html();
                    var template = Handlebars.compile(source);
                    var list = data.content;
                    var html = template(list);
                    $('#revisit_list').append(html);

                    $('.showMore').on('click', function () {
                        frontData.pageNum = $(this).data('pagenum') + 1;
                        queryRecord(frontData)
                        $(this).remove();
                    })

                    /*$('.comment').on('click',function(){
                        visit_id = $(this).data('id')
                        site.send({
                            url: url.checkDiscuss,
                            data: {
                                visit_id: visit_id
                            },
                            callback: function (data) {
                                data = JSON.parse(data);
                                if (data.type == 1) {
                                    var source = $("#comment_list_tpl").html();
                                    var template = Handlebars.compile(source);
                                    var list = data.content;
                                    var html = template(list);
                                    $('#comment_list').append(html)

                                    $(".commentTotal").html(data.content.totleSize);


                                    $('.deleteDiscuss').on('click',function(){
                                        var _this = this;
                                        var discuss_id = $(_this).data('id');
                                        site.send({
                                            url: url.deleteDiscuss,
                                            data: {
                                                discuss_id: discuss_id
                                            },
                                            callback:function(data){
                                                data = JSON.parse(data);
                                                if(data.type == '1'){
                                                    Constant.fn.Message("T",data.msg);
                                                    $(_this).parents('.comment_list').remove();
                                                }else{
                                                    Constant.fn.Message("F",data.msg);
                                                }
                                            }
                                        })
                                    })


                                }else{
                                    Constant.fn.Message("F",data.msg);
                                }
                            }
                        })
                        $('.comment_winBox').show();
                    })*/


                    //分页
                    $('.revisit-page-container').createPager({
                        current: frontData.pageNum,
                        total: data.content.total,
                        pageSize: data.content.pageSize,
                        needInput: false,
                        backFn: function (current) {
                            frontData.pageNum = current;
                            queryRecord(frontData);
                        }
                    })
                } else {
                    Constant.fn.Message("F", data.msg);
                }
            }
        })
    }


    // on操作事件
    function onBindFun() {
        $(".operations").on('change', function () {
            order_id = $(this).data('id');
            numed = $(this).data('numed');
            flun_type = $(this).data('fluntype');
            admin_id = $(this).data('adminid');

            //提交收款所需字段
            at_name = $(this).data('at_name')
            repayment_way = $(this).data('repayment_way');
            loan_type = $(this).data('loan_type')
            loandays = $(this).data('at_id');
            apply_money = $(this).data('apply_money');
            interest = $(this).data('interest');

            var obj = $(this).find("option:selected");
            if (obj.val() == 'checkOrder') {
                pjaxGo('loanLater/loanLaterDetail.html?order_id=' + $(this).data('id') + "&product_id=" + $(this).data('productid'));
            }
            if (obj.val() == 'submitVisit') {
                //提交回访回访类型渲染
                site.send({
                    url: url.selectVisitType,
                    callback: function (data) {
                        var list = JSON.parse(data);
                        if (list.type == '1') {
                            var list = JSON.parse(data);
                            var template = Handlebars.compile($("#visit_list_tpl").html());
                            var html = template(list.content);
                            $("#visit_list").html(html);

                            //$(".payMentWinbox").show();
                        } else {
                            Constant.fn.Message('F', list.msg);
                        }
                    }
                })
                submitVisitData.order_id = order_id
                $('[attachid=提交回访]').html('');
                $("#visitWinboxtexTarea").val("");
                $(".visitWinbox").show();
                $(".visitSelect").val('-1')
            }
            if (obj.val() == 'sumbitGathering') {
                $(".visitSelect").val('-1');
                site.send({
                    url: url.selectPaymentSort,
                    callback: function (data) {
                        data = JSON.parse(data);
                        if (data.type == '1') {
                            var sortList = data.content;
                            var sortSource = $("#paymentSort_list_tpl").html();
                            var sortTemplate = Handlebars.compile(sortSource);
                            var sorthtml = sortTemplate(sortList);
                            var ps_id = data.content[0].id;

                            //日期控件初始化
                            $(".datepicker").datepicker({
                                format: 'yyyy-mm-dd',
                                autoclose: true,
                                pickerPosition: 'bottom',
                            })

                            site.send({
                                url: url.submitReceivablesInit,
                                data: {
                                    order_id: order_id
                                },
                                callback: function (data) {
                                    data = JSON.parse(data);
                                    if (data.type == '1') {
                                        $("#putLoanRemarks").val("");
                                        $('.putLoan_winBox').show();
                                        var list = data.content;
                                        var funPlan = data.content.funPlanlList[0]
                                        funPlan.now_money = funPlan.is_month_repayment_money + funPlan.is_moth_repayment_rate + funPlan.is_comprehensive

                                        var num;
                                        var changeEle = {
                                            penalty: true,
                                            late_fee: true,
                                            huaizhang: true,
                                            qishu: true,
                                            benjin: true
                                        };
                                        var depositReturn = -1;
                                        var depositTF;

                                        list.ps_id = ps_id;
                                        list.loan_type = loan_type;
                                        var sum = 0;
                                        var sum_name = at_name.split('个')[0];
                                        var depositOne, depositTwo, depositThere, depositFour;
                                        $.each(list.depositMap, function (index, val) {
                                            sum += val.deposit
                                            if (val.type == 1) {
                                                depositOne = val.deposit
                                            }
                                            if (val.type == 2) {
                                                depositTwo = val.deposit
                                            }
                                            if (val.type == 3) {
                                                depositThere = val.deposit
                                            }
                                            if (val.type == 4) {
                                                depositFour = val.deposit
                                            }
                                        })
                                        list.sum = sum;
                                        list.depositOne = depositOne;
                                        list.sum_name = sum_name;
                                        if (list.funPlanlList.length) {
                                            list.period_num = list.funPlanlList[0].periods.slice(1, -1);
                                        }

                                        if (ps_id == 5 || (ps_id == 1 && num == list.period_num)) {
                                            changeEle.money = data.content.maps.sumMoney
                                        } else {
                                            changeEle.money = funPlan.now_money
                                        }

                                        if (depositReturn == 1) {
                                            plan_payment_money = changeEle.money - sum
                                        } else if (depositReturn == -1) {
                                            plan_payment_money = changeEle.money
                                        }

                                        list.funPlan = funPlan
                                        list.plan_payment_money = plan_payment_money;

                                        var source = $("#putLoan_list_tpl").html();
                                        var template = Handlebars.compile(source);
                                        var html = template(list);
                                        $("#putLoan_list").html(html);

                                        /*var source2 = $("#special_putLoan_list_tpl").html();
                                        var template2 = Handlebars.compile(source2);
                                        var html2 = template2(list);*/

                                        /*if (repayment_way != '4') {
                                            $("#putLoan_list").html(html);
                                        } else {
                                            $("#putLoan_list").html(html2);
                                            $("#qishu").html("本金（" + Constant.tplHelper.AMOUNT_FORMAT(list.applyMoney) + "）+【本金（" + Constant.tplHelper.AMOUNT_FORMAT(list.applyMoney) + "）*利息（" + list.interest / 100 + "）*天数（" + list.days + "）】");
                                        }

                                        if (repayment_way != '4') {
                                            $("#paymentSort_list").html(sorthtml);
                                        }*/
                                        /*else{
                                                                                    $("#paymentSort_list").parents('td').html('按天计息');
                                                                                }*/
                                        //借款期限输入框填完后计算利息
                                        $("#days").on('blur',function(){
                                            if(parseInt($(this).val()) < parseInt(loandays)){
                                                Constant.fn.Message("I","请输入大于借款日期的日期");
                                                return;
                                            };
                                            $("#payedDays").text(loandays);
                                            $("#paying").show();
                                            $("#payed").show();
                                            $("#payingDays").text(parseInt($(this).val()) - parseInt(loandays));
                                            $("#daysApplyMoney").text(Constant.tplHelper.AMOUNT_FORMAT(apply_money));
                                            $("#daysApplyInterest").text(Constant.tplHelper.AMOUNT_FORMAT((parseInt($(this).val()) - parseInt(loandays)) * apply_money * interest / 100));
                                        })

                                        $("#paymentSort_list").html(sorthtml);

                                        $("#paymentSort_list").on('change', function () {
                                            if ($(this).val() == '1') {
                                                $("#deposit,#guarantee,#penalty,#late_fee_need,#beijin,#collectByDaysDetail,#collectByDays,.isBenJin").hide();
                                                $(".comprehensive_fee").hide();
                                                $("#transfer,#transerWay,#gathering,#come,#notbeijin,#qishu,.checkAccout,#thisTerm,#thisCollect,.collectDetail").show();
                                                $("#zonghe").hide();
                                                plan_payment_money = changeEle.money
                                                $("#plan_payment_money").html('￥' + Constant.tplHelper.AMOUNT_FORMAT(plan_payment_money));
                                            }
                                            else if ($(this).val() == '2') {
                                                $("#deposit,#guarantee,#penalty,#late_fee_need,#transfer,#transerWay,#beijin,#gathering,#come,#collectByDaysDetail,#collectByDays,.isBenJin").hide();
                                                $(".comprehensive_fee").hide();
                                                $("#notbeijin,#qishu,.checkAccout,#thisTerm,#thisCollect,.collectDetail").show();
                                                $("#zonghe").hide();
                                                plan_payment_money = changeEle.money
                                                $("#plan_payment_money").html('￥' + Constant.tplHelper.AMOUNT_FORMAT(plan_payment_money));
                                            }
                                            else if ($(this).val() == '4') {
                                                $("#deposit,#guarantee,#penalty,#beijin,#collectByDaysDetail,#collectByDays,.isBenJin").hide();
                                                $(".comprehensive_fee").hide();
                                                $("#late_fee_need,#transfer,#transerWay,#gathering,#come,#notbeijin,#qishu,.checkAccout,#thisTerm,#thisCollect,.collectDetail").show();
                                                $("#zonghe").hide();
                                                plan_payment_money = changeEle.money
                                                $("#plan_payment_money").html('￥' + Constant.tplHelper.AMOUNT_FORMAT(plan_payment_money));
                                            }
                                            else if ($(this).val() == '5') {
                                                $("#deposit,#guarantee,#penalty,#late_fee_need,#transfer,#transerWay,#come,#notbeijin,#beijin,.checkAccout,#thisTerm,#thisCollect,.collectDetail,.isBenJin").show();
                                                $("#notbeijin,#qishu,#collectByDaysDetail,#collectByDays").hide();
                                                $(".comprehensive_fee").hide();
                                                $("#zonghe").hide();
                                                changeEle._money = data.content.maps.sumMoney
                                                if (depositReturn == 1) {
                                                    plan_payment_money = changeEle._money - sum
                                                } else if (depositReturn == -1) {
                                                    plan_payment_money = changeEle._money
                                                }
                                                $("#plan_payment_money").html('￥' + Constant.tplHelper.AMOUNT_FORMAT(plan_payment_money));
                                            }
                                            else if ($(this).val() == '6') {

                                            }
                                            else if ($(this).val() == '7') {
                                                $("#deposit,#guarantee,#penalty,#late_fee_need,#notbeijin,#beijin,#collectByDaysDetail,#collectByDays,.isBenJin").hide();
                                                $("#transfer,#transerWay,#gathering,#come,#qishu,.checkAccout,#thisTerm,#thisCollect,.collectDetail").show();
                                                $(".comprehensive_fee").show();
                                                if (loan_type == '1') {
                                                    if (list.funMapLoan) {
                                                        plan_payment_money = list.funMapLoan.is_moth_repayment_rate + list.funMapLoan.is_month_repayment_money + list.funMapLoan.is_comprehensive
                                                        $(".periods").html(list.funMapLoan.periods);
                                                        $(".plan_time").html(list.funMapLoan.repayment_time);
                                                    } else {
                                                        plan_payment_money = 0;
                                                    }
                                                } else {
                                                    plan_payment_money = list.funMap.is_moth_repayment_rate + list.funMap.is_month_repayment_money + list.funMap.is_comprehensive
                                                }
                                                $("#plan_payment_money").html('￥' + Constant.tplHelper.AMOUNT_FORMAT(plan_payment_money));
                                                $("#zonghe").show();
                                            }
                                            else if ($(this).val() == '8') {
                                                $("#thisTerm,#thisCollect,.collectDetail,#collectByDaysDetail,#collectByDays,.isBenJin").hide();
                                            }
                                            else if ($(this).val() == '9') {
                                                $("#deposit,#guarantee,#penalty,#late_fee_need,#beijin,#collectByDaysDetail,#collectByDays").hide();
                                                $(".comprehensive_fee").hide();
                                                $("#thisCollect,#zonghe,#notbeijin,#beijin,#collectByDays").hide();
                                                $("#collectByDays,#collectByDaysDetail,#come,.isBenJin").show();
                                            }
                                        })

                                        $(".datepicker").datepicker();

                                        //提交收款初始化处理，提交收款业务逻辑比较复杂
                                        $("input[name='isLate']").on("click", function () {
                                            if ($(this).val() == '1') {
                                                $("#late_fee").show();
                                            } else {
                                                $("#late_fee").hide();
                                                $("#late_fee_val").val(0);
                                            }
                                        })

                                        $("input[name='isBenJin']").on("click", function () {
                                            if ($(this).val() == '1') {
                                                $("#benjin").show();
                                            } else {
                                                $("#benjin").hide();
                                            }
                                        })

                                        $("#depositReturn").on('click', function () {
                                            //先去除千分符
                                            if ($(this).is(":checked")) {
                                                depositReturn = 1;
                                                plan_payment_money = (changeEle._money || changeEle.money) - sum
                                                if (plan_payment_money < 0) {
                                                    plan_payment_money = changeEle._money
                                                    $("#plan_payment_money").html('￥' + Constant.tplHelper.AMOUNT_FORMAT(plan_payment_money));
                                                    depositReturn = -1;
                                                    depositTF = false;
                                                    Constant.fn.Message('I', '不能押金转本金');
                                                    return;
                                                }
                                            } else {
                                                depositReturn = -1;
                                                depositTF = false;
                                                plan_payment_money = (changeEle._money || changeEle.money);
                                                $("#plan_payment_money").html('￥' + Constant.tplHelper.AMOUNT_FORMAT(plan_payment_money));
                                            }
                                        })

                                        $("#Depositforbreach").on('click', function () {
                                            if ($(this).is(":checked")) {
                                                //depositforbreach = 1
                                                //depositTB = true
                                                //penalty =sum || 123
                                            } else {
                                                //depositforbreach = -1
                                                //depositTB = false
                                            }
                                        })
                                    }
                                    else {
                                        Constant.fn.Message("F", data.msg)
                                    }
                                }
                            })
                        }
                        else {
                            Constant.fn.Message("F", data.msg)
                        }
                    }
                })
                /*else {
                    site.send({
                        url: url.DailyInterestRate,
                        data: {
                            order_id: order_id,
                            //loan_type: loan_type,
                            type: '1',
                            //days:'2018-10-12'
                        },
                        callback: function (data) {
                            data = JSON.parse(data);
                            if (data.type == '1') {
                                //var list = JSON.parse(data);
                                var source = $("#special_putLoan_list_tpl").html();
                                var template = Handlebars.compile(source);
                                //data.ps_id = '7';
                                var html = template(data.content);
                                $("#putLoan_list").html(html);
                                $(".putLoan_winBox").show();

                                $(".special_detail #qishu").html("本金（" + (data.content.applyMoney ? Constant.tplHelper.AMOUNT_FORMAT(data.content.applyMoney) : '--') + "）+【本金（" + (data.content.applyMoney ? Constant.tplHelper.AMOUNT_FORMAT(data.content.applyMoney) : '--') + "）*利息（" + (data.content.interest ? data.content.interest / 100 : '--') + "）*天数（" + (data.content.days ? data.content.days : '--') + "）】");
                                $(".special_gathering #plan_payment_money").html('￥' + (data.content.sumMoney ? Constant.tplHelper.AMOUNT_FORMAT(data.content.sumMoney) : '--'));
                                $('.day').html(data.content.days ? data.content.days : '--');


                                $(".datepicker").datepicker();
                                $(".special_come .real_time").on("change", function () {
                                    site.send({
                                        url: url.DailyInterestRate,
                                        data: {
                                            order_id: order_id,
                                            //loan_type: loan_type,
                                            type: '2',
                                            days: $(this).val()
                                        },
                                        callback: function (data) {
                                            data = JSON.parse(data);
                                            if (data.type == 1) {
                                                $(".special_detail #qishu").html("本金（" + (data.content.applyMoney ? Constant.tplHelper.AMOUNT_FORMAT(data.content.applyMoney) : '--') + "）+【本金（" + (data.content.applyMoney ? Constant.tplHelper.AMOUNT_FORMAT(data.content.applyMoney) : '--') + "）*利息（" + (data.content.interest ? data.content.interest / 100 : '--') + "）*天数（" + (data.content.days ? data.content.days : '--') + "）】");
                                                $(".special_gathering #plan_payment_money").html('￥' + (data.content.sumMoney ? Constant.tplHelper.AMOUNT_FORMAT(data.content.sumMoney) : '--'));
                                                $('.day').html(data.content.days ? data.content.days : '--');
                                            } else {

                                            }
                                        }
                                    })
                                })

                                $("#special_paymentSort_list").on("change", function () {
                                    if ($(this).val() == '1') {
                                        $('.special_term,.composive_detail,#come,.composive_gathering').show();
                                        $('.special_come,.special_detail,.days,.special_gathering').hide();
                                    } else {
                                        $('.special_term,.composive_detail,#come,.composive_gathering').hide();
                                        $('.special_come,.special_detail,.days,.special_gathering').show();
                                    }
                                })
                            }
                        }
                    })
                }*/
            }


            if (obj.val() == 'remindPerson') {
                remindData.order_id = order_id;
                $(".remindWinbox").show();
            }
            if (obj.val() == 'remindSalesMan') {
                remindSalesData.adminId = admin_id;
                $(".remindSalesWinbox").show();
            }
            if (obj.val() == 'loanRecord') {
                site.send({
                    url: 'manager/collectionRecord.do',//提交回访
                    data: {
                        order_id: order_id
                    },
                    callback: function (data) {
                        var list = JSON.parse(data);
                        if (list.type == '1') {
                            var list = JSON.parse(data);
                            var template = Handlebars.compile($("#loanRecord_content_tpl").html());
                            var html = template(list.content);
                            $("#loanRecord").html(html);
                            $(".payMentWinbox").show();
                        } else {
                            Constant.fn.Message('F', list.msg);
                        }
                    }
                })
            }
            if (obj.val() == 'selectRenewalRead') {
                //初始化弹窗
                $('#preview_content').html('');

                $('.renewal_winBox').toggle();
                site.send({
                    url: url.selectRenewalRead,
                    data: {
                        oid: order_id
                    },
                    callback: function (data) {
                        data = JSON.parse(data);
                        if (data.type == '1') {
                            var source = $("#renewal_content_tpl").html();
                            var template = Handlebars.compile(source);
                            data.content.flun_type = flun_type;
                            var html = template(data.content);
                            $("#renewal_content").html(html);

                            //$("#numed").html(numed);
                            $("#repayment_way").html(repaymentWay[parseInt(data.content.repayment_way)].re_name);

                            $("#num").on('change', function () {
                                if ($(this).val()) {
                                    $('#afterRenewal').html(parseInt($("#sumP").text()) + parseInt($(this).val()) + '期');
                                }
                                else {
                                    $('#afterRenewal').html('')
                                }
                            })
                        }
                    }
                })
            }
            if (obj.val() == 'revisitRecord') {

                $("#revisit_pop").toggle();
                visitData.order_id = order_id
                visitData.pageSize = 3;
                visitData.type = 1;

                $("#revisit_list").html("");
                queryRecord(visitData);
            }

            if (obj.val() == 'addTerm') {
                $('.addTerm_winBox').show();
            }

            $('.operations').val(-1);
        })
    }

    //提交收款确认按钮
    $("#surePutLoan").on('click', function () {
        var pmType = $("input[name='isCheck']:checked").val();
        var daytype = $("input[name='isBenJin']:checked").val();
        //var plan_payment_money = $("#plan_payment_money").data('plan_payment_money');
        var data = {
            oid: order_id,
            ps_id: $("#paymentSort_list").val(),
            plan_payment_money: plan_payment_money,
            //real_payment_money: $("#real_payment_money").val(),
            //receipt_number: $("#transferMan").val(),
            //transfer_mode: $("#trans").val(),
            //real_time: $(".real_time").val(),
            fund_plan_id: $("#fund_plan_id").val(),
            //penalty: $("#penalty_val").val() ? $("#penalty_val").val() : 0,
            //late_fee: $("#late_fee_val").val() ? $("#late_fee_val").val() : 0,
            //depositReturn:
            status: 1,
            late_days: late_days,
            r_penalty: is_penalty,
            r_late_fee: is_late_fee,
            is_month_repayment_money: is_month_repayment_money,
            remarks: $("#putLoanRemarks").val(),
        };
        if ($("#real_payment_money").parents('tr').css('display') != 'none') {
            data.real_payment_money = $("#real_payment_money").val()
        }

        if ($("#transferMan").parents('tr').css('display') != 'none') {
            data.receipt_number = $("#transferMan").val()
        }

        if ($("#trans").parents('tr').css('display') != 'none') {
            data.transfer_mode = $("#trans").val()
        }

        if ($(".real_time").parents('tr').css('display') != 'none') {
            data.real_time = $(".real_time").val()
        }

        $.each($(".real_time"), function (i, e) {
            if ($(e).parents('tr').css('display') != 'none' && $(e).val()) {
                data.real_time = $(e).val()
            }
        })


        if ($("#penalty_val").parents('tr').css('display') != 'none') {
            data.penalty = $("#penalty_val").val()
        }

        if ($("#late_fee_val").parents('tr').css('display') != 'none') {
            data.late_fee = $("#late_fee_val").val()
        }

        if ($("#depositReturn").parents('tr').css('display') != 'none' && $("#depositReturn").is(":checked")) {
            data.depositReturn = 1;
        }

        if ($("#Depositforbreach").parents('tr').css('display') != 'none' && $("#Depositforbreach").is(":checked")) {
            data.Depositforbreach = 2;
        }
        if (!pmType && $('.checkAccout').css('display') != 'none') {
            Constant.fn.Message("I", "请选择是否需要复核到账");
            return;
        }
        if (pmType) {
            data.pmtype = pmType;
        }
        if ($("#gathering").css('display') != 'none' && !$("#real_payment_money").val()) {
            Constant.fn.Message("I", "请填写实际收款");
            return;
        }
        if ($("#come").css('display') != 'none' && !$("#come").find(".real_time").val()) {
            Constant.fn.Message("I", "请填写到账日期");
            return;
        }
        if($("#paymentSort_list").val() === '9' && !daytype){
            Constant.fn.Message("I", "请选择是否收取本金");
            return;
        }
        if(daytype){
            data.daytype = daytype;
        }
        if($("#days").val()){
            data.days = $("#days").val();
        }
        site.send({
            url: url.submitReceivables,
            data: data,
            callback: function (data) {
                data = JSON.parse(data);
                if (data.type == '1') {
                    Constant.fn.Message("T", data.msg);
                    $(".putLoan_winBox").hide();
                    init()
                }
                else {
                    Constant.fn.Message("F", data.msg)
                }
            },
        })
    })

    //提交添加展期按钮
    $("#sureAddTerm").on('click', function () {
        var interest = $('#add_interest').val();
        var days = $("#addTerm_days").val();
        var realyMoney = interest * days * apply_money / 100;
        var real_time = $('.addTerm_winBox .real_time').val();
        if(!interest){
            Constant.fn.Message('I','请填写利率');
            return;
        }
        if(!days){
            Constant.fn.Message('I','请填写续期天数');
            return;
        }
        if(!real_time){
            Constant.fn.Message('I','请填写还款天数');
            return;
        }
        //var realyMoney =
        var data = {
            oid: order_id,
            interest: interest,
            days: days,
            realyMoney: realyMoney,
            real_time: real_time
        }
        site.send({
            url: url.transformation,
            data: data,
            callback: function (data) {
                data = JSON.parse(data);
                if (data.type == '1') {
                    Constant.fn.Message("T", data.msg);
                    $(".addTerm_winBox").hide();
                    init()
                }
                else {
                    Constant.fn.Message("F", data.msg)
                }
            },
        })
    })

    //利率日期失焦
    $('#add_interest,#addTerm_days').on('blur',function(){
        var days = $("#addTerm_days").val();
        var interest = $("#add_interest").val();
        var realyMoney = days * interest * apply_money / 100;
        if(realyMoney){
            $("#interest_rate").html('利息：￥' + Constant.tplHelper.AMOUNT_FORMAT(realyMoney));
        }else{
            $("#interest_rate").html('利息：￥0');
        }
    })

    $("#orderListSerach").on('click', function () {
        frontData = {};
        if ($("#d2Id").val() != '') {
            frontData.d2Id = $("#d2Id").val();
        }
        if ($("#start_time").val() != '') {
            frontData.start_time = $("#start_time").val();
        }
        if ($("#end_time").val() != '') {
            frontData.end_time = $("#end_time").val();
        }
        if ($("#time_type").val() != '') {
            frontData.time_type = $("#time_type").val();
        }
        if ($("#atId").val() != '') {
            frontData.atId = $("#atId").val();
        }
        if ($("#inputNames").val() != '' && $("#inputNames").val().trim()) {
            frontData.name = $("#inputNames").val();
        }
        if ($("#loan_way").val()) {
            frontData.loan_way = $("#loan_way").val();
        }
        if ($("#seleNames").val()) {
            frontData.type = $("#seleNames").val();
        }
        init();

    })

    /*提交回访功能*/
    $("#commitVisit").on('click', function () {
        var remark = $("#visitWinboxtexTarea").val();
        var vist_time = $("#visit_time").val();
        if (!vist_time) {
            Constant.fn.Message("I", "请输入回访时间");
            return;
        }
        if (!remark) {
            Constant.fn.Message("I", "请输入回访内容");
            return;
        }
        site.send({
            url: url.submitVisit,
            data: {
                url: $('[attachid=提交回访] li').attr('href'),
                remarks: remark,
                order_id: order_id,
                visit_type: $("#visit_list").val(),
                visit_time: vist_time,
                type: '2'
            },
            callback: function (data) {
                data = JSON.parse(data);
                if (data.type == '1') {
                    Constant.fn.Message("T", data.msg);
                    $(".visitWinbox").hide();
                    /*var sortList = data.content;
                    var sortSource = $("#paymentSort_list_tpl").html();
                    var sortTemplate = Handlebars.compile(sortSource);
                    var sorthtml = sortTemplate(sortList);
                    var ps_id = data.content[0].id;*/
                } else {
                    Constant.fn.Message("F", data.msg);
                }
            }
        })
    })


// 提醒客户
    $("#remindBtn").on('click', function () {
        remindData.remarks = $("#remindRemarks").val()
        remindFun();
    })

    //提醒业务员
    $("#remindSalesBtn").on('click', function () {
        remindSalesData.remarks = $("#remindSalesRemarks").val()
        if (!$("#remindSalesRemarks").val()) {
            Constant.fn.Message("I", "请输入提醒信息")
            return;
        }
        remindSales();
    })

    function remindFun() {
        site.send({
            url: 'manager/remindCustomers.do',//提交回访
            //async:false,
            data: remindData,
            callback: function (data) {
                var list = JSON.parse(data);
                if (list.type == '1') {
                    $(".remindWinbox").hide();
                    Constant.fn.Message('T', list.msg);
                    pjaxReload();
                } else {
                    Constant.fn.Message('F', list.msg);
                }
            }
        })
    }

    function remindSales() {
        site.send({
            url: 'manager/sendCollect.do',//提醒业务员
            //async:false,
            data: remindSalesData,
            callback: function (data) {
                var list = JSON.parse(data);
                if (list.type == '1') {
                    $(".remindSalesWinbox").hide();
                    Constant.fn.Message("T", list.msg);
                } else {
                    Constant.fn.Message('F', list.msg);
                }
            }
        })
    }


    $("#preview").on('click', function () {

        var data = {
            oid: order_id,
            sumNum: parseInt($("#sumP").text()) + parseInt($("#num").val()),
            flun_type: flun_type,
            update_type: $("input[name=update_type]:checked").val(),
            sumP: parseInt($("#sumP").text()),
            fulpanNum: numed,
        }


        var smallMoney = $("#smallMoney").val();
        var interest = $("#interest").val();

        if (smallMoney) {
            data.smallMoney = smallMoney;
        }

        if (interest) {
            data.r_interest = interest;
        }

        if (!$("#num").val()) {
            Constant.fn.Message("I", "请选择新增期数");
            return;
        }

        if (!data.update_type) {
            Constant.fn.Message("I", "请选择展期类型");
            return;
        }

        site.send({
            url: url.selectRenewal,
            data: data,
            callback: function (data) {
                data = JSON.parse(data);
                if (data.type == '1') {
                    /*$('.renewal_winBox').toggle();
                    location.reload();*/

                    var source = $("#preview_content_tpl").html();
                    var template = Handlebars.compile(source);
                    var html = template(data.content);
                    $("#preview_content").html(html).show();

                }
                else {
                    Constant.fn.Message("T", data.msg);
                }
            }
        })
    })

    $("#sureRenewal").on('click', function () {
        var data = {
            oid: order_id,
            sumNum: parseInt($("#sumP").text()) + parseInt($("#num").val()),
            flun_type: flun_type,
            update_type: $("input[name=update_type]:checked").val(),
            sumP: parseInt($("#sumP").text()),
            fulpanNum: numed
        }


        var smallMoney = $("#smallMoney").val();
        var interest = $("#interest").val();

        if (smallMoney) {
            data.smallMoney = smallMoney;
        }

        if (interest) {
            data.r_interest = interest;
        }

        if (!$("#num").val()) {
            Constant.fn.Message("I", "请选择新增期数");
            return;
        }

        if (!data.update_type) {
            Constant.fn.Message("I", "请选择展期类型");
            return;
        }

        site.send({
            url: url.submitRenewal,
            data: data,
            callback: function (data) {
                data = JSON.parse(data);
                if (data.type == '1') {
                    $('.renewal_winBox').toggle();
                    Constant.fn.Message("T", data.msg)
                    pjaxReload();

                    /*var source = $("#preview_content_tpl").html();
                    var template = Handlebars.compile(source);
                    var html = template(data.content);
                    $("#preview_content").html(html).show();*/
                }
                else {
                    Constant.fn.Message("F", data.msg)
                }
            }
        })
    })
    //搜索功能
    $("#sousuo").on('click', function () {
        init();
    })


    var uploader;
    var attachId;

    function OSS_IMAGE_INIT(order_id, node_id) {

        var objdata = {
            upfile_nametype: 'random_name',//local_name random_name  上传文件的文件名类型
            url: localStorage.getItem('host') + "oss/getSignature.do"
        };
        // 当domReady的时候开始初始化
        $(".viewPic").unbind().on('click', function () {
            attachId = $(this).data('id');
            /*if (!order_id) {
                Constant.fn.Message('I', '请先录入订单');
                //$("#viewPic").unbind();
                return
            }*/
            /*if(!attach_id){
                $("#attachmentType").addClass('error');
                Constant.fn.Message('I','请选择类型');
                return
            }*/

            timeout : 30000,
                $.ajax({
                    type: "post",
                    url: objdata.url,
                    success: function (str) {
                        data = JSON.parse(str)
                        if (data.type > 0) {
                            try {
                                var re = data.content;
                                objdata.osssignature = {
                                    'key': re.dir,
                                    'policy': re.policy,
                                    'OSSAccessKeyId': re.accessId,
                                    'success_action_status': '200', //让服务端返回200,不然，默认会返回204
                                    'signature': re.signature,
                                    'callback': re.callback,
                                    'expire': re.expire,
                                    'host': re.host
                                };
                            } catch (e) {
                                alert("系统错误");
                            }

                        } else {
                            alert("结果为空");
                        }
                        $("#image_upload_pop").toggle();

                        //设置居中
                        centerPosition($("#image_upload_pop .edui-dialog-body").get(0));
                    },
                    error: function (XMLHttpRequest, textStatus, errorThrown) {
                        // alert("ajax error");
                    },
                    complete: function (XMLHttpRequest, status) { //请求完成后最终执行参数
                        if (status == 'timeout') {
                            //alert('请求超时，请稍后再试！');
                        }
                    },
                    async: false
                });

            if (uploader) return;//界面已经存在，不去重新创建uploader了

            var $wrap = $('#uploader'),
                // 图片容器
                $queue = $('<ul class="filelist"></ul>').appendTo($wrap.find('.queueList')),

                // 状态栏，包括进度和控制按钮
                $statusBar = $wrap.find('.statusBar'),

                // 文件总体选择信息。
                $info = $statusBar.find('.info'),

                // 上传按钮
                $upload = $wrap.find('.uploadBtn'),

                // 没选择文件之前的内容。
                $placeHolder = $wrap.find('.placeholder'),

                $progress = $statusBar.find('.progress').hide(),

                // 添加的文件数量
                fileCount = 0,

                // 添加的文件总大小
                fileSize = 0,

                acceptExtensions = [".png", ".tif", ".TIF", ".pdf", ".doc", ".docx", ".jpg", ".jpeg", ".gif", ".bmp", ".xls", ".xlsx"].join('').replace(/\./g, ',').replace(/^[,]/, ''),

                // 优化retina, 在retina下这个值是2
                ratio = window.devicePixelRatio || 1,

                // 缩略图大小
                thumbnailWidth = 110 * ratio, thumbnailHeight = 110 * ratio,

                // 可能有pedding, ready, uploading, confirm, done.
                state = 'pedding',

                // 所有文件的进度信息，key为file id
                percentages = {},
                // 判断浏览器是否支持图片的base64
                isSupportBase64 = (function () {
                    var data = new Image();
                    var support = true;
                    data.onload = data.onerror = function () {
                        if (this.width != 1 || this.height != 1) {
                            support = false;
                        }
                    }
                    data.src = "";
                    return support;
                })(),

                // 检测是否已经安装flash，检测flash的版本
                flashVersion = (function () {
                    var version;

                    try {
                        version = navigator.plugins['Shockwave Flash'];
                        version = version.description;
                    } catch (ex) {
                        try {
                            version = new ActiveXObject('ShockwaveFlash.ShockwaveFlash').GetVariable('$version');
                        } catch (ex2) {
                            version = '0.0';
                        }
                    }
                    version = version.match(/\d+/g);
                    return parseFloat(version[0] + '.' + version[1], 10);
                })(),

                supportTransition = (function () {
                    var s = document.createElement('p').style,
                        r = 'transition' in s || 'WebkitTransition' in s || 'MozTransition' in s || 'msTransition' in s || 'OTransition' in s;
                    s = null;
                    return r;
                })(), _this = this;

            _this.imageList = [];
            if (!WebUploader.Uploader.support('flash') /* && WebUploader.browser.ie */) {

                // flash 安装了但是版本过低。
                if (flashVersion) {
                    (function (container) {
                        window['expressinstallcallback'] = function (state) {
                            switch (state) {
                                case 'Download.Cancelled':
                                    alert('您取消了更新！')
                                    break;

                                case 'Download.Failed':
                                    alert('安装失败')
                                    break;

                                default:
                                    alert('安装已成功，请刷新！');
                                    break;
                            }
                            delete window['expressinstallcallback'];
                        };

                        var swf = './expressInstall.swf';
                        // insert flash object
                        var html = '<object type="application/' + 'x-shockwave-flash" data="' + swf + '" ';

                        if (WebUploader.browser.ie) {
                            html += 'classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" ';
                        }

                        html += 'width="100%" height="100%" style="outline:0">' + '<param name="movie" value="' + swf + '" />' + '<param name="wmode" value="transparent" />' + '<param name="allowscriptaccess" value="always" />' + '</object>';

                        container.html(html);

                    })($wrap);

                    // 压根就没有安装。
                } else {
                    $wrap.html('<a href="http://www.adobe.com/go/getflashplayer" target="_blank" border="0"><img alt="get flash player" src="http://www.adobe.com/macromedia/style_guide/images/160x41_Get_Flash_Player.jpg" /></a>');
                }

                return;
            } else if (!WebUploader.Uploader.support()) {
                alert('Web Uploader 不支持您的浏览器！');
                return;
            }
            // 实例化
            uploader = WebUploader.create({
                pick: {
                    id: '#filePicker',
                    label: '点击选择图片'
                },
                resize: false,
                duplicate: true,
                accept: {
                    title: 'Images',
                    extensions: acceptExtensions,
                    // mimeTypes: 'filed/!*' //wuzhifeng 修改上传文件类型 图片的话 是
                    // image
                    mimeTypes: 'image/!*'
                },
                formData: {
                    uid: 123
                },
                dnd: '#edui114_body',
                paste: '#uploader',
                swf: '/tbpt/plugin/ueditor/third-party/webuploader/Uploader.swf',
                chunked: false,
                compress: false,
                chunkSize: 512 * 1024,
                server: objdata.osssignature.host,///tbpt/plugin/ueditor/jsp/controller.jsp?action=uploadimage
                //http://oss.aliyuncs.com/ http://tbptfile.oss-cn-beijing.aliyuncs.com/
                // runtimeOrder: 'flash',
                // server:
                // 'http://liaoxuezhi.fe.baidu.com/webupload/fileupload.php',
                // server: 'http://www.2betop.net/fileupload.php',
                //

                // accept: {
                // title: 'Images',
                // extensions: 'gif,jpg,jpeg,bmp,png',
                // mimeTypes: 'image/!*'
                // },

                // 禁掉全局的拖拽功能。这样不会出现图片拖进页面的时候，把图片打开。
                disableGlobalDnd: false,
                auto: false,// {Boolean} [可选] [默认值：false] 设置为 true
                // 后，不需要手动调用上传，有文件选择即开始上传。
                fileNumLimit: 300,// 验证文件总数量, 超出则不允许加入队列。
                fileSizeLimit: 200 * 1024 * 1024, // 200 M
                fileSingleSizeLimit: 110 * 1024 * 1024 // 50 M
            });

            // 拖拽时不接受 js, txt 文件。
            uploader.on('dndAccept', function (items) {
                var denied = false, len = items.length, i = 0,
                    // 修改js类型
                    unAllowed = 'text/plain;application/javascript ';

                for (; i < len; i++) {
                    // 如果在列表里面
                    if (~unAllowed.indexOf(items[i].type)) {
                        denied = true;
                        break;
                    }
                }

                return !denied;
            });
            // 添加“添加文件”的按钮，
            uploader.addButton({
                id: '#filePicker2',
                label: '继续添加'
            });

            uploader.on('ready', function () {
                window.uploader = uploader;
            });

            //上传完成 服务器响应 不代表上传成功
            uploader.on('uploadSuccess', function (file, ret) {
                //console.log(fileCount);
                var $file = $('#' + file.id);
                if (ret._raw) {
                    _this.imageList.push({
                        succ: true
                    });
                    $file.append('<span class="success"></span>');
                    //图片
                    if (file.type == 'image/jpeg' || file.type == 'image/png' || file.type == 'image/tiff') {
                        var index = $file.index();
                        /*if ($file.index() == 0) {
                            $('#picStay').prepend('原图:<a sort="' + $file.index() + '" playHref="' + objdata.osssignature.host + "/" + file.path + '/tupian_compress" href="' + objdata.osssignature.host + "/" + file.path + '" target="_blank" >' + objdata.osssignature.host + "/" + file.path + '</a>');
                            $('#picStay').prepend('<img sort="' + $file.index() + '" src="' + objdata.osssignature.host + "/" + file.path + '?x-oss-process=image/resize,m_lfit,h_56,w_36" />');
                        } else {*/
                        var aSortArr = [];
                        if (!$('#picStay a').length) {
                            $('#picStay').prepend('原图:<a sort="' + index + '" playHref="' + objdata.osssignature.host + "/" + file.path + '/tupian_compress" href="' + objdata.osssignature.host + "/" + file.path + '" target="_blank" >' + objdata.osssignature.host + "/" + file.path + '</a>');
                        } else {
                            $.each($('#picStay a'), function (i, e) {
                                if ($(e).attr('sort') < index) {
                                    aSortArr.push($(e).attr('sort'))
                                }
                            })

                            if (aSortArr.length) {
                                $("#picStay a").eq(aSortArr.length - 1).after('原图:<a sort="' + index + '" playHref="' + objdata.osssignature.host + "/" + file.path + '/tupian_compress" href="' + objdata.osssignature.host + "/" + file.path + '" target="_blank" >' + objdata.osssignature.host + "/" + file.path + '</a>');
                            }
                            else {
                                $('#picStay').prepend('原图:<a sort="' + index + '" playHref="' + objdata.osssignature.host + "/" + file.path + '/tupian_compress" href="' + objdata.osssignature.host + "/" + file.path + '" target="_blank" >' + objdata.osssignature.host + "/" + file.path + '</a>');
                            }
                        }


                        var imgSortArr = [];
                        if (!$('#picStay img').length) {
                            $('#picStay').prepend('<img sort="' + index + '" src="' + objdata.osssignature.host + "/" + file.path + '?x-oss-process=image/resize,m_lfit,h_56,w_36" />');
                        } else {
                            $.each($('#picStay img'), function (i, e) {
                                if ($(e).attr('sort') < index) {
                                    imgSortArr.push($(e).attr('sort'))
                                }
                            })

                            if (imgSortArr.length) {
                                $("#picStay img").eq(imgSortArr.length - 1).after('<img sort="' + index + '" src="' + objdata.osssignature.host + "/" + file.path + '?x-oss-process=image/resize,m_lfit,h_56,w_36" />');
                            } else {
                                $('#picStay').prepend('<img sort="' + index + '" src="' + objdata.osssignature.host + "/" + file.path + '?x-oss-process=image/resize,m_lfit,h_56,w_36" />');
                            }
                        }
                        //$('#picStay').append('<img src="' + objdata.osssignature.host + "/" + file.path + '?x-oss-process=image/resize,m_fill,h_100,w_100" />');
                    }
                } else {
                    showError(file.statusText);
                    $file.find('.error').text("失败").show();
                    console.log("上传失败");
                    $('body').append("上传失败");
                }

            });

            uploader.on('uploadBeforeSend', function (obj, data, headers) {
                //TODO   如果同一个页面上传多次  需要处理签名逻辑   不用每次都签名
                //debugger
                //赋值参数
                data = $.extend(data, objdata.osssignature);
                headers['Access-Control-Allow-Origin'] = "*";

                //设置文件路径
                data.key = data.key + "/" + calculate_object_name(data.name, objdata.upfile_nametype);
                obj.filepath = data.key;
                obj.file.path = data.key;
            });

            //得到文件名 type local_name random_name
            function calculate_object_name(filename, type) {
                if (type && type == 'local_name') {
                    return "${filename}";
                } else {//随机生成文件名
                    var chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678';
                    var maxPos = chars.length;
                    var random_string = '';
                    for (i = 0; i < 10; i++) {
                        random_string += chars.charAt(Math.floor(Math.random() * maxPos));
                    }
                    var pos = filename.lastIndexOf('.')
                    var suffix = ''
                    if (pos != -1) {
                        suffix = filename.substring(pos);
                    }
                    return random_string + new Date().getTime() + suffix;
                }
            }

            // 当有文件添加进来时执行，负责view的创建
            function addFile(file) {
                var $li = $('<li id="' + file.id + '">' + '<p class="title">' + file.name + '</p>' + '<p class="imgWrap"></p>' + '<p class="progress"><span></span></p>' + '</li>'),

                    $btns = $('<div class="file-panel">' + '<span class="cancel">删除</span>' + '<span class="rotateRight">向右旋转</span>' + '<span class="rotateLeft">向左旋转</span></div>').appendTo($li),
                    $prgress = $li.find('p.progress span'), $wrap = $li.find('p.imgWrap'),
                    $info = $('<p class="error"></p>'),

                    showError = function (code) {
                        switch (code) {
                            case 'exceed_size':
                                text = '文件大小超出';
                                break;

                            case 'interrupt':
                                text = '上传暂停';
                                break;

                            default:
                                text = '上传失败，请重试';
                                break;
                        }

                        $info.text(text).appendTo($li);
                    };

                if (file.getStatus() === 'invalid') {
                    showError(file.statusText);
                } else {
                    // @todo lazyload
                    $wrap.text('预览中');
                    uploader.makeThumb(file, function (error, src) {
                        var img;

                        if (error) {
                            $wrap.text('不能预览');
                            return;
                        }

                        if (isSupportBase64) {
                            img = $('<img src="' + src + '">');
                            $wrap.empty().append(img);
                        }
                    }, thumbnailWidth, thumbnailHeight);

                    percentages[file.id] = [file.size, 0];
                    file.rotation = 0;
                }


                file.on('statuschange', function (cur, prev) {
                    if (prev === 'progress') {
                        $prgress.hide().width(0);
                    } else if (prev === 'queued') {
                        $li.off('mouseenter mouseleave');
                        $btns.remove();
                    }
                    // 成功
                    if (cur === 'error' || cur === 'invalid') {
                        console.log(file.statusText);
                        showError(file.statusText);
                        percentages[file.id][1] = 1;
                    } else if (cur === 'interrupt') {
                        showError('interrupt');
                    } else if (cur === 'queued') {
                        percentages[file.id][1] = 0;
                    } else if (cur === 'progress') {
                        $info.remove();
                        $prgress.css('display', 'block');
                    } else if (cur === 'complete') {
                        //$li.append('<span class="success"></span>');
                    }

                    $li.removeClass('state-' + prev).addClass('state-' + cur);
                });
                uploader.on('uploadAccept', function (file, response) {
                    var hasError = (response['error'] !== undefined);
                    if (hasError) {
                        // 通过return false来告诉组件，此文件上传有错。
                        return false;
                    }
                    ;
                });
                uploader.on("uploadFinished", function () {
                    // uploader.reset();
                    // uploader;
                });

                $li.on('mouseenter', function () {
                    $btns.stop().animate({
                        height: 30
                    });
                });

                $li.on('mouseleave', function () {
                    $btns.stop().animate({
                        height: 0
                    });
                });

                $btns.on('click', 'span', function () {
                    var index = $(this).index(), deg;

                    switch (index) {
                        case 0:
                            uploader.removeFile(file);
                            return;

                        case 1:
                            file.rotation += 90;
                            break;

                        case 2:
                            file.rotation -= 90;
                            break;
                    }

                    if (supportTransition) {
                        deg = 'rotate(' + file.rotation + 'deg)';
                        $wrap.css({
                            '-webkit-transform': deg,
                            '-mos-transform': deg,
                            '-o-transform': deg,
                            'transform': deg
                        });
                    } else {
                        $wrap.css('filter', 'progid:DXImageTransform.Microsoft.BasicImage(rotation=' + (~~((file.rotation / 90) % 4 + 4) % 4) + ')');
                    }

                });

                $li.appendTo($queue);
            }

            // 负责view的销毁
            function removeFile(file) {
                var $li = $('#' + file.id);

                delete percentages[file.id];
                updateTotalProgress();
                $li.off().find('.file-panel').off().end().remove();
            }

            function updateTotalProgress() {
                var loaded = 0, total = 0, spans = $progress.children(), percent;

                $.each(percentages, function (k, v) {
                    total += v[0];
                    loaded += v[0] * v[1];
                });

                percent = total ? loaded / total : 0;

                spans.eq(0).text(Math.round(percent * 100) + '%');
                spans.eq(1).css('width', Math.round(percent * 100) + '%');
                updateStatus();
            }

            function updateStatus() {
                var text = '', stats;

                if (state === 'ready') {
                    text = '选中' + fileCount + '张图片，共' + WebUploader.formatSize(fileSize) + '。';
                } else if (state === 'confirm') {
                    stats = uploader.getStats();
                    if (stats.uploadFailNum) {
                        text = '已成功上传' + stats.successNum + '张照片，' + stats.uploadFailNum + '张照片上传失败，<a class="retry" href="#">重新上传</a>失败图片或<a class="ignore" href="#">忽略</a>'
                    }

                } else {
                    stats = uploader.getStats();
                    text = '共' + fileCount + '张（' + WebUploader.formatSize(fileSize) + '），已上传' + stats.successNum + '张';

                    if (stats.uploadFailNum) {
                        text += '，失败' + stats.uploadFailNum + '张';
                    }
                }

                $info.html(text);
            }

            function setState(val) {
                var file, stats;

                if (val === state) {
                    return;
                }

                $upload.removeClass('state-' + state);
                $upload.addClass('state-' + val);
                state = val;

                switch (state) {
                    case 'pedding':
                        $placeHolder.removeClass('element-invisible');
                        $queue.hide();
                        $statusBar.addClass('element-invisible');
                        uploader.refresh();
                        break;

                    case 'ready':
                        $placeHolder.addClass('element-invisible');
                        $('#filePicker2').removeClass('element-invisible');
                        $queue.show();
                        $statusBar.removeClass('element-invisible');
                        uploader.refresh();
                        $upload.text('开始上传').removeClass('disabled');
                        break;

                    case 'uploading':
                        $('#filePicker2').addClass('element-invisible');
                        $progress.show();
                        $upload.text('暂停上传');
                        break;

                    case 'paused':
                        $progress.show();
                        $upload.text('继续上传');
                        break;

                    case 'confirm':
                        $progress.hide();
                        $upload.text('开始上传').addClass('disabled');

                        stats = uploader.getStats();
                        if (stats.successNum && !stats.uploadFailNum) {
                            setState('finish');
                            return;
                        }
                        break;
                    case 'finish':
                        stats = uploader.getStats();
                        if (stats.successNum) {

                            // WuZhiFeng

                        } else {
                            // 没有成功的图片，重设
                            state = 'done';
                            location.reload();
                        }
                        $('#filePicker2').removeClass('element-invisible');
                        $upload.text('开始上传').removeClass('disabled');
                        break;
                }

                updateStatus();
            }

            uploader.onUploadProgress = function (file, percentage) {
                var $li = $('#' + file.id), $percent = $li.find('.progress span');

                $percent.css('width', percentage * 100 + '%');
                if ($.isEmptyObject(percentages)) {
                    return false;
                }
                percentages[file.id][1] = percentage;
                updateTotalProgress();
            };

            uploader.onFileQueued = function (file) {
                fileCount++;
                fileSize += file.size;

                if (fileCount === 1) {
                    $placeHolder.addClass('element-invisible');
                    $statusBar.show();
                }

                addFile(file);
                setState('ready');
                updateTotalProgress();
            };

            uploader.onFileDequeued = function (file) {
                fileCount--;
                fileSize -= file.size;

                if (!fileCount) {
                    setState('pedding');
                }

                removeFile(file);
                updateTotalProgress();

            };

            uploader.on('all', function (type) {
                var stats;
                switch (type) {
                    case 'uploadFinished':
                        setState('confirm');
                        break;

                    case 'startUpload':
                        setState('uploading');
                        break;

                    case 'stopUpload':
                        setState('paused');
                        break;

                }

            });

            uploader.onError = function (code) {
                if (code == 'Q_TYPE_DENIED') {
                    alert("不支持该文件类型，请选择图片类型文件");
                }
                if (code == 'Q_EXCEED_NUM_LIMIT') {
                    alert("只能上传单张图片");
                }
                // alert( 'Eroor: ' + code );
            };

            $upload.on('click', function () {
                if ($(this).hasClass('disabled')) {
                    return false;
                }

                if (state === 'ready') {
                    uploader.upload();
                } else if (state === 'paused') {
                    uploader.upload();
                } else if (state === 'uploading') {
                    uploader.stop();
                }
            });

            $info.on('click', '.retry', function () {
                uploader.retry();
            });

            $info.on('click', '.ignore', function () {
                alert('todo');
            });

            $upload.addClass('state-' + state);
            updateTotalProgress();


        });

    }

    var resetUploader = function () {
        if (uploader) {
            //重新设置页面
            for (var i = 0; i < uploader.getFiles().length; i++) {
                uploader.removeFile(uploader.getFiles()[i]);
            }
            uploader.reset();
        }
        $('.webuploader-element-invisible').val('');
    };

    $(".closed").unbind();
    $(".sure").unbind();

    $(".closed").on('click', function () {
        resetUploader();
        $('#image_upload_pop').toggle();
        $("#picStay").html("");
    })

    $(".sure").on('click', function () {

        var attachImg = [];
        var attachimg = [];
        var flag2 = false;
        /*var status = uploader.getStats();
        if (status.queueNum) {
            $(".statusBar .info").html("还有" + status.queueNum + "张图片未上传");
            return
        }*/
        $('#image_upload_pop').toggle();
        resetUploader();

        var img = $("#picStay a");

        if (img.length) {
            $.each(img, function (i, e) {
                attachImg.push(
                    {
                        playHref: $(e).attr('playhref'),
                        href: $(e).attr('href'),
                        attachId: attachId
                    }
                );
            })

            $.each(img, function (i, e) {
                attachimg.push($(e).attr('href'))
            })

            var sameAttach = $('[attachid=' + attachId + '] li');
            if (sameAttach.length) {
                $.each(sameAttach, function (i, e) {
                    attachimg.push($(e).attr('href'))
                })
            }
        }

        if (attachImg.length) {
            if ($('[attachId]').length) {
                $.each($('[attachId]'), function (i, e) {
                    if (attachImg[0].attachId == $(e).attr('attachId')) {
                        $.each(attachImg, function (ii, ee) {
                            if (Constant.fn.getFileType(ee.href) == 'pdf') {
                                $(e).append('<a href=' + Constant.fn.getFileName(ee.href) + ' target="_blank">' + ee.href + '</a>')
                            }
                            else {
                                $(e).append('<li href=\"' + ee.href + '\">   \n' +
                                    '<img class="img_00" url="' + ee.href + '" src="' + ee.playHref + '">\n' +
                                    '<i class="delSingleAttach iconfont icon-minus">\n' +
                                    '</i>\n' +
                                    '</li>')
                            }
                        })

                        $("#picStay").html("");
                        flag2 = false;
                    }
                })

                if (flag2) {
                    $('#image_list').append("<tr><td>" + data.content[0].attachName + "</td><td class=\"minImg\"><div id=\"gallery" + data.content[0].attachId + "\" attachName=\"" + data.content[0].attachName + "\" attachId=\"" + data.content[0].attachId + "\" allid=" + data.content[0].id + "></div></td><td><i class=\"delAttach iconfont icon-shanchu\"></i></td></tr>");
                    $.each(attachImg, function (ii, ee) {
                        var gallery = $('[attachId=' + ee.attachId + ']');
                        if (Constant.fn.getFileType(ee.href) == 'pdf') {
                            gallery.append('<a href=' + Constant.fn.getFileName(ee.href) + ' target="_blank">' + ee.href + '</a>')
                        } else {
                            gallery.append('<li href=\"' + ee.href + '\">   \n' +
                                '<img class="img_00" url="' + ee.href + '" src="' + ee.playHref + '">\n' +
                                '<i class="delSingleAttach iconfont icon-minus">\n' +
                                '</i>\n' +
                                '</li>')
                        }
                    })

                    //imgList(data.content[0].attachId);
                    $("#picStay").html("");
                }
            }

            else {
                $('#image_list').append("<tr><td>" + data.content[0].attachName + "</td><td class=\"minImg\"><div id=\"gallery" + data.content[0].attachId + "\" attachName=\"" + data.content[0].attachName + "\" attachId=\"" + data.content[0].attachId + "\" allid=" + data.content[0].id + "></div></td><td><i class=\"delAttach iconfont icon-shanchu\"></i></td></tr>");
                $.each(attachImg, function (ii, ee) {
                    var gallery = $('[attachId=' + ee.attachId + ']');
                    if (Constant.fn.getFileType(ee.href) == 'pdf') {
                        gallery.append('<a href=' + Constant.fn.getFileName(ee.href) + ' target="_blank">' + ee.href + '</a>')
                    } else {
                        gallery.append('<li href=\"' + ee.href + '\">   \n' +
                            '<img class="img_00" url="' + ee.href + '" src="' + ee.playHref + '">\n' +
                            '<i class="delSingleAttach iconfont icon-minus">\n' +
                            '</i>\n' +
                            '</li>')
                    }
                })

                //imgList(data.content[0].attachId);
                $("#picStay").html("");
            }
            Constant.fn.initScroll();
            $('.visitWinbox .winBox1').viewer('destroy').viewer();
        }
        //删除单张图片
        $('.delSingleAttach').unbind().on('click', function (e) {
            e.stopPropagation();
            e.preventDefault();
            $(this).parents('li').remove();
            Constant.fn.initScroll();
        })

    })

    OSS_IMAGE_INIT()

})

/**
 * 从ueditor.all.js里面拷贝的拖拽方法
 */
var _onTitlebarMouseDown = function (event, el) {
    var uiUtils = baidu.editor.ui.uiUtils;
    var domUtils = baidu.editor.dom.domUtils;
    var rect;
    var me = this;
    var dialogId = el.getAttribute('id');//'image_upload_pop';

    var safeSetOffset = function (offset) {
        // var me = this;
        var el = getDom();
        var vpRect = uiUtils.getViewportRect();
        var rect = uiUtils.getClientRect(el);
        var left = offset.left;
        if (left + rect.width > vpRect.right) {
            left = vpRect.right - rect.width;
        }
        var top = offset.top;
        if (top + rect.height > vpRect.bottom) {
            top = vpRect.bottom - rect.height;
        }
        el.style.left = Math.max(left, 0) + 'px';
        el.style.top = Math.max(top, 0) + 'px';
    }
    var getDom = function (name) {
        if (!name) {
            return document.getElementById(dialogId);
        } else {
            return document.getElementById(dialogId + '_' + name);
        }
    };

    uiUtils.startDrag(event, {
        ondragstart: function () {
            rect = uiUtils.getClientRect(getDom());
            // me.getDom('contmask').style.visibility = 'visible';
            // me.dragMask.show(me.getDom().style.zIndex - 1);
        },
        ondragmove: function (x, y) {
            var left = rect.left + x;
            var top = rect.top + y;
            safeSetOffset({
                left: left,
                top: top
            });
        },
        ondragstop: function () {
            // me.getDom('contmask').style.visibility = 'hidden';
            // domUtils.removeClasses(me.getDom(), ['edui-state-centered']);
            // me.dragMask.hide();
        }
    });

};

var centerPosition = function (el) {
    var uiUtils = baidu.editor.ui.uiUtils;
    var vpRect = uiUtils.getViewportRect();
    var rect = uiUtils.getClientRect(el);
    var left = vpRect.width / 2 - rect.width / 2;
    var top = vpRect.height / 2 - rect.height / 2;

    el.style.left = Math.max(left, 0) + 'px';
    el.style.top = Math.max(top, 0) + 'px';
};


